/*
Date:20210427 15:39PM
key:引用两个整型在途中，每次递归出来如果不是空节点就-1.
 */
class Solution {
public:
    void dfs(TreeNode* root,int&c,int&re)
    {
        if(root!=nullptr)
        {
            c++;
            if(c>re){re=c;}
            dfs(root->left,c,re);
            if(root->left!=nullptr){c--;}
            dfs(root->right,c,re);
            if(root->right!=nullptr){c--;}
            

        }

    }
    int maxDepth(TreeNode* root) 
    {
        if(root==nullptr){return 0;}
        int c=0;
        int re=0;
        dfs(root,c,re);
        return re;
    }
};